package eva.savant.businessobject.gl;

import eva.savant.businessobject.vt.Vendedor;
import eva.savant.businessobject.vt.Cliente;
import eva.savant.businessobject.mt.Kardex;
import eva.savant.businessobject.cm.Solicitud;
import eva.savant.businessobject.cm.Proveedor;
import eva.savant.businessobject.cm.Comprador;
import eva.savant.businessobject.ad.Usuario;
import javax.persistence.*;
import java.util.Collection;

@Table(name="GL_PERSONA")
@javax.persistence.Entity(name = "gl.Persona")
public class Persona extends eva.savant.businessobject.Entity {

    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "ID_PERSONA", length = 10, nullable = false)
    private Integer id; //ID Persona

    @ManyToOne
    @JoinColumn(name = "ID_DIVISION", nullable = false)
    private Division division; //ID Division

    @Basic
    @Column(name = "NOMBRE", length = 50, nullable = false)
    private String nombre; //Nombre

    @Basic
    @Column(name = "DIRECCION", length = 80, nullable = false)
    private String direccion; //Direccion

    @Basic
    @Column(name = "TELEFONO", length = 25, nullable = false)
    private String telefono; //Telefono

    @OneToMany
    (mappedBy = "persona")
    private Collection<Usuario> lsUsuario;

    @OneToMany
    (mappedBy = "persona")
    private Collection<Comprador> lsComprador;

    @OneToMany
    (mappedBy = "persona")
    private Collection<Proveedor> lsProveedor;

    @OneToMany
    (mappedBy = "persona")
    private Collection<Solicitud> lsSolicitud;

    @OneToMany
    (mappedBy = "persona")
    private Collection<Kardex> lsKardex;

    @OneToMany
    (mappedBy = "persona")
    private Collection<Cliente> lsCliente;

    @OneToMany
    (mappedBy = "persona")
    private Collection<Vendedor> lsVendedor;


    public Persona(Integer id, Division division, String nombre, String direccion, String telefono, Integer operacionId, String sociedadId, Integer usuarioId) {

        this.id= id;

        this.division= division;

        this.nombre= nombre;

        this.direccion= direccion;

        this.telefono= telefono;

        this.operacionId= operacionId;

        this.sociedadId= sociedadId;

        this.usuarioId= usuarioId;

    }

    public Persona() {

    }


    public Integer getId() {
    
        return id;
    }
    
    public void setId(Integer id) {
    
        this.id = id;
    }

    public Division getDivision() {
    
        return division;
    }
    
    public void setDivision(Division division) {
    
        this.division = division;
    }

    public String getNombre() {
    
        return nombre;
    }
    
    public void setNombre(String nombre) {
    
        this.nombre = nombre;
    }

    public String getDireccion() {
    
        return direccion;
    }
    
    public void setDireccion(String direccion) {
    
        this.direccion = direccion;
    }

    public String getTelefono() {
    
        return telefono;
    }
    
    public void setTelefono(String telefono) {
    
        this.telefono = telefono;
    }

    public Collection<Usuario> getLsUsuario() {
    
        return lsUsuario;
    }
    
    public void setLsUsuario(Collection<Usuario> lsUsuario) {
    
        this.lsUsuario = lsUsuario;
    }

    public Collection<Comprador> getLsComprador() {
    
        return lsComprador;
    }
    
    public void setLsComprador(Collection<Comprador> lsComprador) {
    
        this.lsComprador = lsComprador;
    }

    public Collection<Proveedor> getLsProveedor() {
    
        return lsProveedor;
    }
    
    public void setLsProveedor(Collection<Proveedor> lsProveedor) {
    
        this.lsProveedor = lsProveedor;
    }

    public Collection<Solicitud> getLsSolicitud() {
    
        return lsSolicitud;
    }
    
    public void setLsSolicitud(Collection<Solicitud> lsSolicitud) {
    
        this.lsSolicitud = lsSolicitud;
    }

    public Collection<Kardex> getLsKardex() {
    
        return lsKardex;
    }
    
    public void setLsKardex(Collection<Kardex> lsKardex) {
    
        this.lsKardex = lsKardex;
    }

    public Collection<Cliente> getLsCliente() {
    
        return lsCliente;
    }
    
    public void setLsCliente(Collection<Cliente> lsCliente) {
    
        this.lsCliente = lsCliente;
    }

    public Collection<Vendedor> getLsVendedor() {
    
        return lsVendedor;
    }
    
    public void setLsVendedor(Collection<Vendedor> lsVendedor) {
    
        this.lsVendedor = lsVendedor;
    }

}
